home *** CD-ROM | disk | FTP | other *** search
/ The Atari Compendium / The Atari Compendium (Toad Computers) (1994).iso / files / umich / telecomm / fnordadl / fn132src.zoo / ref-man / transfer.tex < prev    next >
Encoding:
Text File  |  1991-09-02  |  10.2 KB  |  248 lines

  1. @comment Tell Emacs to use -*-texinfo-*- mode
  2. @comment $Id: transfer.tex,v 2.3 91/09/01 23:04:52 royce Exp $
  3.  
  4. @node File Transfers, Miscellaneous, Shells vs. the Desktop, Top
  5. @chapter File Transfers
  6. @cindex File transfers
  7.  
  8. As you've probably guessed by now, Fnordadel is oriented
  9. towards the discussion type of @sc{bbs}ing (i.e.: message oriented rather than
  10. file transfer oriented).  Still, Fnordadel prides itself on being
  11. flexible, and a decent level of file transfer features is supported.
  12.  
  13. @node File Directories, Protocols, File Transfers, File Transfers
  14. @section File Directories
  15. @cindex File directories
  16. @cindex Directories
  17.  
  18. Fnordadel permits a room to have attached to it a directory on the storage
  19. device; users may be able to upload files to this directory, or download
  20. files from this directory, or both.  (These attributes are changed by editing
  21. the room; see @ref{Sysop room-editing commands}.)  Users may also read the
  22. contents of the directory in either a short format (@code{.R(ead) D(irectory)})
  23. or a long format (@code{.R(ead) E(xtended-directory)}).  The short form
  24. prints out the filenames and sizes, whereas the long form adds the date stamp
  25. of the files and an optional description.
  26. @xref{Multi-key file reading commands}.
  27.  
  28. The file descriptions are kept in each directory in a
  29. file called @file{.fdr}.  This file is added to whenever a user uploads a
  30. file to the directory, and it is also editable with a text editor.
  31. It consists of lines of the form
  32. @example
  33. <@var{filename}> <@var{description}>
  34. @end example
  35. @noindent
  36. where the two fields are separated by whitespace (spaces and/or tabs).
  37. The lines must be alphabetically sorted; that is, the line for
  38. @file{foobar.zoo} must come after the line for @file{blort.lzh} and so on.
  39.  
  40. If you add files to a directory manually (by copying
  41. them in using a shell or the Desktop) then the @file{.fdr} file will,
  42. obviously, not be updated.  You may want to do so manually so
  43. as to provide some sort of help for your downloading-mad users.
  44.  
  45. @node Protocols, The File Browser, File Directories, File Transfers
  46. @section Protocols
  47.  
  48. Fnordadel supports the following protocols for file
  49. transfers:
  50. @cindex File transfer protocols
  51. @cindex Protocols
  52. @cindex Transfer protocols
  53. @table @asis
  54. @item Xmodem
  55. The standard 128-byte packet prototol.  Invoke
  56. this protocol using @code{.R(ead) X(modem) F(ile) @dots{}}
  57. or @code{.E(nter) X(modem) F(ile) @dots{}}.
  58.  
  59. @item Ymodem
  60. Xmodem with 1K (1024 byte) packets.  Yes, we
  61. know this is a misnomer, but it's historical.
  62. (Translation: ``We didn't put it in, someone
  63. else did@dots{}'')  Invoke this protocol using
  64. @code{.R(ead) Y(modem) F(ile) @dots{}} or @code{.E(nter)
  65. Y(modem) F(ile) @dots{}}.
  66.  
  67. @item Ymodem batch
  68. This is true Ymodem---1K packets with
  69. batch transfers (i.e., you can send more than
  70. one file at once, and the software keeps track
  71. of filenames and stuff).  Fnordadel supports
  72. this for general use in downloads only; it
  73. will do Ymodem batch uploads only when a user
  74. with Sysop or Co-Sysop status is logged in.  Invoke this
  75. protocol using @code{.R(ead) Y(modem) B(atch file) @dots{}}
  76. or @code{.E(nter) Y(modem) B(atch file) @dots{}}.
  77.  
  78. @item WXmodem
  79. This is a windowed packet protocol which is
  80. not widely used, and the implementation residing
  81. in Fnordadel is known to be weak; we've never
  82. even touched it.  We don't even have a terminal
  83. program which supports it, so we can't test it
  84. except with itself, which is hardly rigorous.
  85. Maybe try it if you can.  Invoke this protocol
  86. by using @code{.R(ead) W(Xmodem) @dots{}} or @code{.E(nter)
  87. W(Xmodem) @dots{}}.
  88.  
  89. @item Vanilla @sc{ascii}
  90. This is a straight @sc{ascii} transfer terminated with two @samp{^X}
  91. (@samp{Ctrl-X}) characters.  It is useful for modems with their own error
  92. correction, or for other times when you want a plain transfer (say, for
  93. uploading a message directly from the editor of a terminal package, or
  94. some such.)  It is invoked with @code{.R(ead) V(anilla) @dots{}} or
  95. @code{.E(nter) V(anilla) @dots{}}.
  96.  
  97. @item @sc{ascii}
  98. This is a straight @sc{ascii} transfer with no error
  99. checking or distinguishing features.  It just
  100. blorts out the file.  This ``protocol'' is unlike the
  101. others in that it cannot be specifically invoked in
  102. a command, and it is available only with @code{.R(ead)};
  103. invoke it by using @code{.R(ead) F(ile)}.
  104. @end table
  105.  
  106. You may also enable any number of additional file transfer
  107. protocols using doors; see @ref{Protocol doors}.
  108.  
  109. The actual mechanism for file transfers is documented in this manual in
  110. @ref{Multi-key file entry commands}, and @ref{Multi-key file reading commands},
  111. among other places, and in the online help files.  Note that the transfer
  112. protocols can be used to transfer more than just files; in particular, they
  113. can be used to upload messages into and download messages from the message
  114. base.
  115.  
  116. @node The File Browser,  , Protocols, File Transfers
  117. @section The File Browser
  118. @cindex Browser, file
  119. @cindex File browser
  120.  
  121. The Fnordadel file browser is an addition not found on any other
  122. Citadel variants that we know of.  If offers users a way to step through the
  123. list of files in a directory room one at a time, and do things with them.
  124. Many other types of @sc{bbs}es have such functionality, and we decided it was
  125. time for a Citadel to be able to claim the same thing, for those who want to
  126. do file transfer stuff as well as discussion.
  127.  
  128. Because we try to make commands consistent, the file browser is
  129. called up in the same fashion that the one-at-a-time message reading option
  130. is invoked, namely using the @code{M(ore)} modifier:
  131. @example
  132. .R(ead) M(ore) D(irectory) [@var{optional file mask}]
  133. .R(ead) M(ore) E(xtended directory) [@var{optional file mask}]
  134. @end example
  135. @noindent
  136. Both of the above commands produce exactly the same result, which is
  137. to display the first file in the directory that matches the given file mask
  138. (if there is one).  Following the file name display (which looks just like
  139. the entry for that file in the normal @code{.R(ead) E(xtended directory)}
  140. listing),
  141. the browser prompt is displayed.  Here's what you might see:
  142. @example
  143. callbaud.sys    2588 | 91Apr28 | Highly esoteric BBS usage stats.
  144.  
  145. Browse cmd:
  146. @end example
  147. Note that other command options might be useful in conjunction with
  148. the browser mode option @code{M(ore)}.  Two good examples are
  149. @code{-(before)} and @code{+(after)}.
  150. These commands cause the
  151. system to ask for a date in standard Citadel format (e.g. @samp{91May20},
  152. or just
  153. @samp{May20} to assume the current year).  You can also just hit @samp{<CR>}
  154. to tell the
  155. system to use the date of your last call.  Fnordadel then merrily crunches
  156. through the directory and only lists those files before or after the date.
  157.  
  158. Hitting @samp{?} at the browser prompt produces the following list of
  159. commands:
  160. @cindex Browser menu
  161. @example
  162. [A]- view this entry again
  163. [B]ackup to previous file
  164. [C]lear batch list
  165. [H]eader listing of ARC, LZH, ZOO file
  166. [M]ark this file for batch transfer
  167. [N]ext file (also <SPACE>, <CR>)
  168. [U]nmark a file
  169. [V]iew batch list
  170. e[X]it the browser (also [Q]uit, [S]top)
  171. @end example
  172.  
  173. @table @code
  174. @item [A]- view this entry again
  175. This command will redisplay the current file description, in case it
  176. was somehow removed from view and the user forgot what it was.
  177.  
  178. @item [B]ackup to previous file
  179. This command will back up one entry and redisplay the preceeding file
  180. description, if there is one.
  181.  
  182. @item [C]lear batch list
  183. This command wipes out the entire batch list.  There is
  184. currently no way to take out just one file name from the list; if
  185. you really don't want to transfer it, you'll have to @code{[C]lear} the
  186. list and start over.
  187.  
  188. @item [H]eader listing of ARC, LZH, ZOO file
  189. This command is quite useful for helping decide whether a given archive
  190. file is worth downloading.  If the description isn't enough, this will
  191. show the archive's table of contents, like the @samp{.RH} command would.
  192. The @samp{.arc} file format is supported internally with Fnordadel, but
  193. for @samp{.lzh} and @samp{.zoo} files (or any others) to work, the Sysop
  194. must have set up some doors.  @xref{Archiver doors}.
  195.  
  196. @item [M]ark this file for batch transfer
  197. This command adds the currently-displayed file to an internal
  198. list of files to be batch downloaded by the user, presumably using
  199. the @code{.R(ead) Y(modem) B(atch file)} command.  After a file is marked,
  200. the total size of all marked files is shown.  The browser will not permit
  201. a user to mark more files than the daily download limit allows.
  202.  
  203. Normally, the @samp{.RYB} command
  204. needs the user to enter a file mask indicating which files are to be
  205. transferred.  However, if there is a batch list in existence, the
  206. user can just hit @samp{<CR>} after entering @samp{.RYB},
  207. and the system will prompt
  208. for the transfer of all files in the batch list.  The batch list will
  209. not stop the user from explicitly transferring other files if desired,
  210. by doing @samp{.RYB @var{filename}}.  @xref{Multi-key file reading commands}.
  211.  
  212. The batch list may contain a collection of files from any
  213. series of directory rooms.  The user can go from room to room, adding
  214. interesting files to the list, until he has everything wanted.  Then
  215. one massive @samp{.RYB <@samp{<CR>}>} command will take them all.
  216. (Assuming the user has enough download credit available, of course.  See
  217. the @code{download}
  218. @vindex download
  219. parameter in @file{ctdlcnfg.doc}, and @ref{Daily download limit}.)
  220.  
  221. @item [N]ext file (also <SPACE>, <CR>)
  222. This command advances to the next file that matches the given
  223. file mask, if any.  If there are no files remaining, the browser
  224. exits and the user is returned to the room prompt.  Any marked files
  225. may now be transferred.  To view the current batch list, it is
  226. necessary to re-enter the browser.
  227.  
  228. @item [U]nmark a file
  229. This command allows a user to unmark an individual file.  The user will
  230. be prompted for the file name to unmark, and if it is present in the batch
  231. list, it will be removed.
  232.  
  233. @item [V]iew batch list
  234. The @code{[V]iew} command does just that, allows the user to view
  235. the current batch list.  There are three columns of information
  236. (source room, file name and file size), followed by the total size of
  237. all marked files.  Here's an example:
  238. @example
  239. RT stats                callbaud.sys    2588
  240. Foo room                bigfile.foo     100000
  241. Total marked file size = 102588 bytes.
  242. @end example
  243.  
  244. @item e[X]it the browser (also [Q]uit, [S]top)
  245. this command immediately exits the browser and returns the
  246. user to the room prompt.
  247. @end table
  248.